Rendimientos Chiller

Rendimientos Chiller#

import plotly.express as px
import statsmodels.api as sm
import pandas as pd
import numpy as np

# Filtrar los datos
df_filtered = df_pivot[(df_pivot['potencia-activa'] >= 50) & 
                       (df_pivot['eficiencia-chiller'] >= 0.4) & 
                       (df_pivot['eficiencia-chiller'] <= 2) & 
                       (df_pivot['potencia-termica'] >= 40) & 
                       (df_pivot['potencia-termica'] <= 300)]

# Crear un gráfico de dispersión con colores de acuerdo a 'potencia-termica'
figx = px.scatter(df_filtered, 
                  x='potencia-activa', 
                  y='eficiencia-chiller', 
                  color='potencia-termica', 
                  color_continuous_scale='jet')

# Ajuste de LOESS
lowess = sm.nonparametric.lowess
z = lowess(df_filtered['eficiencia-chiller'], df_filtered['potencia-activa'], frac=0.3)
df_trend = pd.DataFrame(z, columns=['potencia-activa', 'eficiencia-chiller'])

# Añadir la línea de tendencia al gráfico con color rojo
figx.add_traces(px.line(df_trend, x='potencia-activa', y='eficiencia-chiller').update_traces(line=dict(color='red')).data)

# Actualizar el título y las etiquetas
figx.update_layout(title='Relación entre Rendimiento Chiller y Potencia Activa', 
                   xaxis_title='Potencia Activa [kW]', 
                   yaxis_title='Rendimiento Chiller [kW/TR]')

# Mostrar el gráfico
figx.show()
"""
import plotly.express as px
from sklearn.cluster import KMeans

# Filtrar los datos
df_filtered = df_pivot[(df_pivot['potencia-activa'] >= 50) & (df_pivot['eficiencia-chiller'] >=0.4 ) & (df_pivot['eficiencia-chiller'] <=2 )]

# Aplicar K-Means para agrupar los datos por potencia activa
kmeans = KMeans(n_clusters=3)  
df_filtered['cluster'] = kmeans.fit_predict(df_filtered[['eficiencia-chiller']])

# Crear un gráfico de dispersión con colores de acuerdo a los clusters
figx = px.scatter(df_filtered, x='potencia-activa', y='eficiencia-chiller', trendline='ols', color='cluster', 
                  color_continuous_scale='viridis')

# Actualizar el título y las etiquetas
figx.update_layout(title='Relación entre Rendimiento Chiller y Potencia Activa', xaxis_title='Potencia Activa [kW]', 
                   yaxis_title='Rendimiento Chiller [kW/TR]')

# Mostrar el gráfico
figx.show()
"""
"\nimport plotly.express as px\nfrom sklearn.cluster import KMeans\n\n# Filtrar los datos\ndf_filtered = df_pivot[(df_pivot['potencia-activa'] >= 50) & (df_pivot['eficiencia-chiller'] >=0.4 ) & (df_pivot['eficiencia-chiller'] <=2 )]\n\n# Aplicar K-Means para agrupar los datos por potencia activa\nkmeans = KMeans(n_clusters=3)  \ndf_filtered['cluster'] = kmeans.fit_predict(df_filtered[['eficiencia-chiller']])\n\n# Crear un gráfico de dispersión con colores de acuerdo a los clusters\nfigx = px.scatter(df_filtered, x='potencia-activa', y='eficiencia-chiller', trendline='ols', color='cluster', \n                  color_continuous_scale='viridis')\n\n# Actualizar el título y las etiquetas\nfigx.update_layout(title='Relación entre Rendimiento Chiller y Potencia Activa', xaxis_title='Potencia Activa [kW]', \n                   yaxis_title='Rendimiento Chiller [kW/TR]')\n\n# Mostrar el gráfico\nfigx.show()\n"
###nonon
import plotly.express as px
import statsmodels.api as sm
import pandas as pd
import numpy as np


# Filtrar los datos
df_filtered = df_pivot[(df_pivot['potencia-activa'] >= 50) & 
                       (df_pivot['potencia-termica'] >=40) &
                       (df_pivot['potencia-termica'] <=300)&
                       (df_pivot['eficiencia-chiller'] >=0.4) &
                       (df_pivot['eficiencia-chiller'] <=2 )]

# Crear un gráfico de dispersión con colores de acuerdo a 'potencia-termica'
figx = px.scatter(df_filtered, 
                  x='potencia-termica', 
                  y='eficiencia-chiller', 
                  color='potencia-activa', 
                  color_continuous_scale='viridis')

# Ajuste de LOESS
lowess = sm.nonparametric.lowess
z = lowess(df_filtered['eficiencia-chiller'], df_filtered['potencia-termica'], frac=0.3)
df_trend = pd.DataFrame(z, columns=['potencia-termica', 'eficiencia-chiller'])

# Añadir la línea de tendencia al gráfico con color rojo
figx.add_traces(px.line(df_trend, x='potencia-termica', y='eficiencia-chiller').update_traces(line=dict(color='red')).data)


# Actualizar el título y las etiquetas
figx.update_layout(title='Relación entre Rendimiento Chiller y Potencia termica', 
                   xaxis_title='Potencia Termica [TR]', 
                   yaxis_title='Rendimiento Chiller [kW/TR]')

# Mostrar el gráfico
figx.show()
---------------------------------------------------------------------------
KeyboardInterrupt                         Traceback (most recent call last)
File <__array_function__ internals>:180, in sum(*args, **kwargs)

File ~\.conda\envs\nuevo2-env\lib\site-packages\numpy\core\fromnumeric.py:2298, in sum(a, axis, dtype, out, keepdims, initial, where)
   2295         return out
   2296     return res
-> 2298 return _wrapreduction(a, np.add, 'sum', axis, dtype, out, keepdims=keepdims,
   2299                       initial=initial, where=where)

File ~\.conda\envs\nuevo2-env\lib\site-packages\numpy\core\fromnumeric.py:86, in _wrapreduction(obj, ufunc, method, axis, dtype, out, **kwargs)
     83         else:
     84             return reduction(axis=axis, out=out, **passkwargs)
---> 86 return ufunc.reduce(obj, axis, dtype, out, **passkwargs)

KeyboardInterrupt: 
Exception ignored in: 'statsmodels.nonparametric._smoothers_lowess.calculate_weights'
Traceback (most recent call last):
  File "<__array_function__ internals>", line 180, in sum
  File "C:\Users\jpocampo\.conda\envs\nuevo2-env\lib\site-packages\numpy\core\fromnumeric.py", line 2298, in sum
    return _wrapreduction(a, np.add, 'sum', axis, dtype, out, keepdims=keepdims,
  File "C:\Users\jpocampo\.conda\envs\nuevo2-env\lib\site-packages\numpy\core\fromnumeric.py", line 86, in _wrapreduction
    return ufunc.reduce(obj, axis, dtype, out, **passkwargs)
KeyboardInterrupt: 
import plotly.express as px
import statsmodels.api as sm
import pandas as pd
import numpy as np
from sklearn.cluster import KMeans

# Filtrar los datos
df_filtered_2 = df_pivot[(df_pivot['potencia-termica'] >= 40) & 
                         (df_pivot['potencia-termica'] <= 300) & 
                         (df_pivot['eficiencia-chiller'] >= 0.4) & 
                         (df_pivot['eficiencia-chiller'] <= 2) & 
                         (df_pivot['potencia-activa'] >= 50)]

# Crear un gráfico de dispersión con colores de acuerdo a 'potencia-activa'
figx = px.scatter(df_filtered_2, 
                  x='potencia-termica', 
                  y='eficiencia-chiller', 
                  color='potencia-activa', 
                  color_continuous_scale='jet')

# Ajuste de LOESS
lowess = sm.nonparametric.lowess
z = lowess(df_filtered_2['eficiencia-chiller'], df_filtered_2['potencia-termica'], frac=0.3)
df_trend = pd.DataFrame(z, columns=['potencia-termica', 'eficiencia-chiller'])

# Añadir la línea de tendencia al gráfico con color rojo
figx.add_traces(px.line(df_trend, x='potencia-termica', y='eficiencia-chiller').update_traces(line=dict(color='red')).data)

# Actualizar el título y las etiquetas
figx.update_layout(title='Relación entre Rendimiento Chiller y Potencia Térmica', 
                   xaxis_title='Potencia Térmica [TR]', 
                   yaxis_title='Rendimiento Chiller [kW/TR]')

# Mostrar el gráfico
figx.show()